package com.gitee.dolt.utils.excel;


import cn.hutool.core.convert.Convert;
import cn.hutool.poi.excel.cell.CellUtil;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;

/**
 * @author LYH
 */
public class PoiUtils {

    /**
     * 获取单元格值
     *
     * @param row
     * @param cellIndex
     * @param type
     * @param <T>
     * @return
     */
    public static <T> T getCellValue(Row row, int cellIndex, Class<T> type) {
        return getCellValue(CellUtil.getOrCreateCell(row, cellIndex), type);
    }

    /**
     * 获取单元格值
     *
     * @param cell
     * @param type
     * @param <T>
     * @return
     */
    public static <T> T getCellValue(Cell cell, Class<T> type) {
        Object cellValue = CellUtil.getCellValue(cell, true);
        return Convert.convert(type, cellValue);
    }

    /**
     * 可以将excel的列宽近似转换成poi的列宽值
     *
     * @param width
     * @return
     */
    public static int transPoiWidth(double width) {
        return (int) (252 * width + 323);
    }
}
